﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DBSystem.BussinesEntities;
using DBSystem.BussinesLogic;
using Microsoft.Practices.Unity;

namespace DBSystem.WebMVC4.Controllers
{
    public class UsuariosController : Controller
    {
        [Dependency]
        public IUsuarioService UsuarioService { get; set; }

        [Dependency]
        public IPreferenciaService PreferenciaService { get; set; }

        //
        // GET: /Usuarios/

        public ActionResult Index()
        {
            var lista = UsuarioService.GetFromUsuario();

            return View(lista);
        }

        public ActionResult Create() 
        {
            var usuario = new Usuario();

            usuario.Preferencias = PreferenciaService.GetFromPreferencia();

            return View(usuario);
        }

        [HttpPost]
        public ActionResult Create(Usuario usuario)
        {
            UsuarioService.AddUsuario(usuario);

            return RedirectToAction("Index");

        }

        public ActionResult Edit(Int32 id)
        {
            var usuario = UsuarioService.GetFromUsuarioById(id);

            return View(usuario);
        }

        [HttpPost]
        public ActionResult Edit(Usuario usuario)
        {
            UsuarioService.UpdateUsuario(usuario);

            return RedirectToAction("Index");
        }

        public ActionResult Delete(Int32 id)
        {
            UsuarioService.RemoveUsuario(id);

            return RedirectToAction("Index");
        }

    }
}
